from mcp.server.fastmcp import FastMCP
import json

# 导入基础消息类型 比如说 UserMessage AssistantMessage等
from mcp.server.fastmcp.prompts import base

mcp = FastMCP(name="MCP Server")


@mcp.prompt()
def greet_user(name: str, style: str = "friendly") -> str:
    styles: dict[str, str] = {
        "friendly": "请用温暖友好的语气写一段问候语",
        "formal": "请用正式专业的语气写一段问候语",
        "casual": "请用轻松随意的语气写一段问候语",
    }
    return f"{styles.get(style)} ，对象是名为{name}的用户"


@mcp.prompt(title="调试助手")
def debug_assistant(error: str) -> list[base.Message]:
    return [
        base.UserMessage("我遇到了如下的错误:"),
        base.UserMessage(error),
        base.AssistantMessage(
            "我将帮助你定位问题，请提供你已经尝试的步骤，相关的代码片段，以及你期望的结果"
        ),
    ]


if __name__ == "__main__":
    mcp.run(transport="stdio")
